//找到所有红色表格中的td
var alltds = document.querySelectorAll("#board2 td")
//当前回合该哪方下
var turn = "black";

var his = [];
var finish = false;

function tdClick(e){
    if(finish){
        return;
    }
    console.log(7)

    var  td =e.target;
    var round = document.getElementById("round");

    var side = td.getAttribute("chess");
    if(side){
        return;
    }

    


    td.setAttribute("chess",turn);

    winCheck(e.target.index);

    if(turn =="black"){
        turn = "white";
        round.textContent = "白方回合";


    }else{
        turn = "black";
        round.textContent = "黑方回合";
    }
    his.push(e.target);


}




for(var i = 0;i<alltds.length;i++){
    alltds[i].onclick = tdClick;

    alltds[i].index = i;


}

function back(){
    finish = false;
    if(his.length>0){
        var td = his.pop();
        td.removeAttribute("chess");
        
            if(turn =="black"){
            turn = "white";
            round.textContent = "白方回合";


        }else{
            turn = "black";
            round.textContent = "黑方回合";
    }
    }
}

function restart() {
    window.location.reload();

}
//判断胜利的函数
function winCheck(index){  
    if (horizontalCheck(index) || verticalCheck(index) || tlbrCheck(index) ||trblCheck(index)){
       finish = true;
        alert((turn =="black"?"黑":"白")+"方胜利");
    }
}

//检查横向函数
function verticalCheck(index){
    var num = 1;
    var currentIndex = index;
    var hasNext = currentIndex%19!=0&&alltds[currentIndex-1].getAttribute("chess")==turn;

    while(hasNext){
        num++;
        currentIndex--;
        hasNext = currentIndex%19!=0&&alltds[currentIndex-1].getAttribute("chess")==turn;
    }
    //
    var currentIndex = index;
    var hasNext = currentIndex%19!=18&&alltds[currentIndex+1].getAttribute("chess")==turn;

    while(hasNext){
        num++;
        currentIndex++;
        hasNext = currentIndex%19!=18&&alltds[currentIndex+1].getAttribute("chess")==turn;
    }
    return num>=5;
    

}
//**** */


//检查纵向函数
function horizontalCheck(index){
    var num = 1;
    var currentIndex = index;
    var hasNext = currentIndex>=19&&alltds[currentIndex-19].getAttribute("chess")==turn;

    while(hasNext){
        num++;
        currentIndex-=19;
        hasNext = currentIndex>=19&&alltds[currentIndex-19].getAttribute("chess")==turn;
    }
    //
    var currentIndex = index;
    var hasNext = currentIndex<342&&alltds[currentIndex+19].getAttribute("chess")==turn;

    while(hasNext){
        num++;
        currentIndex+=19;
        hasNext = currentIndex<342&&alltds[currentIndex+19].getAttribute("chess")==turn;
    }
    return num>=5;
}

//斜向判断左上到右下
function tlbrCheck(index){
    var num = 1;
    var currentIndex = index;
    var hasNext = currentIndex%19!=0&&currentIndex>=19&&alltds[currentIndex-20].getAttribute("chess")==turn;

    while(hasNext){
        num++;
        currentIndex-=20;
        hasNext = currentIndex%19!=0&&currentIndex>=19&&alltds[currentIndex-20].getAttribute("chess")==turn;
    }
    //
    var currentIndex = index;
    var hasNext = currentIndex<342&&currentIndex%19!=18&&alltds[currentIndex+20].getAttribute("chess")==turn;

    while(hasNext){
        num++;
        currentIndex+=20;
        hasNext = currentIndex<342&&currentIndex%19!=18&&alltds[currentIndex+20].getAttribute("chess")==turn;
    }
    return num>=5;
}

//右上到左下
function trblCheck(index){
    var num = 1;
    var currentIndex = index;
    var hasNext = currentIndex%19!=0&&currentIndex>=19&&alltds[currentIndex-18].getAttribute("chess")==turn;

    while(hasNext){
        num++;
        currentIndex-=18;
        hasNext = currentIndex%19!=18&&currentIndex>=19&&alltds[currentIndex-18].getAttribute("chess")==turn;
    }
    //
    var currentIndex = index;
    var hasNext = currentIndex<342&&currentIndex%19!=0&&alltds[currentIndex+18].getAttribute("chess")==turn;

    while(hasNext){
        num++;
        currentIndex+=18;
        hasNext = currentIndex<342&&currentIndex%19!=0&&alltds[currentIndex+18].getAttribute("chess")==turn;
    }
    return num>=5;
}


